package com.kpmg.datalake.common.constants;

import java.util.HashMap;
import java.util.Map;

/**
 * 常数信息
 * @author Tony
 */
public class Constants {

    private Constants() {
    }

    /**
     * 多维报表导出类型
     */
    public static final String EXPORT_ALL = "2";
    /**
     * 科目维度
     */
    public static final String SBJ_DIM = "sbj";
    /**
     * 部门维度
     */
    public static final String DEPT_DIM = "dept";
    /**
     * 交易对手维度
     */
    public static final String CST_DIM = "cst";
    /**
     * 组团维度
     */
    public static final String PRJ_DIM = "prj";
    /**
     * 报表导出
     */
    public static final String EXP_DIM = "exp";

    /**
     * 加密秘钥
     */
    public static final String ENCRY_KEY = "kpmgdatalakeaesk";

    /**
     * 所有账套类型导出文件名
     */
    public static final String KPMG_GLOR_BOOK_FILE_NAME = "所有账套类型.xls";
    /**
     * 账套文件头信息
     */
    public static final String[] KPMG_GLOR_BOOK_CATALOG = { "账套编码", "账套主键", "账套名称" };
    /**
     * 筛选账套文件名
     */
    public static final String KPMG_GLOR_SELECTED_BOOK_FILE_NAME = "筛选账套";

    /**
     * 记录分隔符
     */
    public static final String RECORD_SEPARATOR = "\t";
    public static final String FILE_NAME_PREFIX = "prefix";

    public static final String YEAR = "年";

    /**
     * 登陆类型
     * 登入
     */
    public static final int TYPE_LOG_IN = 1;
    /**
     * 登陆类型
     * 登出
     */
    public static final int TYPE_LOG_OUT = 2;

    /**
     * 报表筛选条件保存记录表
     */
    public static final String SAVE_SMY_RCRD_TBL_NM = "MDA_SMY_RCRD";
    /**
     * 维度展开状态表
     */
    public static final String SAVE_DIM_DRILL_TBL_NM = "MDA_DIM_DRILL";

    /**
     * 执行状态Map
     */
    public static final Map<String, String> REQUEST_STATUS_MAP = new HashMap<String, String>();

    /**
     * 公司集团code
     */
    public static final String GROUP_CORP_CD = "00";

    /**
     * 数据库执行-新增
     */
    public static final String DATABASE_ACTION_INSERT_TYPE = "1";

    public static final String DATABASE_ACTION_INSERT_VALUE = "INSERT";

    /**
     * 数据库执行-更新
     */
    public static final String DATABASE_ACTION_UPDATE_TYPE = "2";

    public static final String DATABASE_ACTION_UPDATE_VALUE = "UPDATE";

    /**
     * 数据库执行-删除
     */
    public static final String DATABASE_ACTION_DELETE_TYPE = "3";

    public static final String DATABASE_ACTION_DELETE_VALUE = "DELETE";

    public static final Map<String, String> DATABASE_ACTION_TYPE_MAP = new HashMap<String, String>();

    public static final String DEPLOYMENT_TYPE_INTERNAL = "internal";

    public static final String DEPLOYMENT_TYPE_EXTERNAL = "external";

    public static final String PRIVATE_KEY = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAo"
        + "GBAM3vxJNf+8s4cOAcnHok8IzaWODRzQKsE/0tWlZc0zZVSnd5f2vxB6uS8dzSh7pM1uWGkzf+A"
        + "bh1vkKqbHyZIhQcV/SEu78d3BpjovJNvUsqMxLXG0TrRzCl3Pi2Q/ujQDnV8soX9jWB/PbvdR"
        + "ffnwDfOQAzJat2K+UYHbTABFctAgMBAAECgYBhb7Byild4L5w4bVEb+Z5XBnhG5v045nIOuAamFgVZD8HM"
        + "BZBkYgZfB4eoE3RkkTacIrBFLclinVMH99qcmVelkoiy4RYd330Y+3MTQjY5E7tbZfqL6ozoY/tV97HYKYm+"
        + "nFnJ33W260KIA9onxqsancVKF0R71bIpXcgV1mMYAQJBAPTySbkxEmTZeDJNO33Zzi3i2DUieuKoUdZxbuvnQ5q"
        + "oT1LpY53dO1NqdbhhnndyCngFlMr9zLqfBBn+Ciomyp0CQQDXOtLfBHmOQMfE6twmupPjT5NjtL6hpVGX6NBvrjj"
        + "/ERyoWamjDOdqmPNK31U0xFUsjS3hCM1YGW+GCZOdDpHRAkEA3rY9mgioNNIWm4XlhbQ35zjOZOGI4fUxE83nkM6hhU"
        + "lrdnOGg87XVi0CBDeeIfSq2B4a/8ZsE3LqA8gb7d9/cQJBANAxJH159KM34oWGsYH9BMTi2q2dzrDKG40YNVdybcu9H"
        + "71xTfhcqRWh8eVA90jdiY5Y2kJNo2RO5mP/q3xG9aECQHoJsU6L7UhtSzoi7cmZ3honYX2IBc4Sdm7BA/8jBBb3YutgH"
        + "+jK+znrWZ2AW46GS+9GsqtKqJajbVbTJJWk1VA=";

    static {
        // REQUEST_STATUS_MAP
        REQUEST_STATUS_MAP.put("0", "正在执行");
        REQUEST_STATUS_MAP.put("1", "执行完成");
        REQUEST_STATUS_MAP.put("2", "执行失败");

        // DATABASE_ACTION_TYPE_MAP
        DATABASE_ACTION_TYPE_MAP.put(DATABASE_ACTION_INSERT_TYPE, DATABASE_ACTION_INSERT_VALUE);
        DATABASE_ACTION_TYPE_MAP.put(DATABASE_ACTION_UPDATE_TYPE, DATABASE_ACTION_UPDATE_VALUE);
        DATABASE_ACTION_TYPE_MAP.put(DATABASE_ACTION_DELETE_TYPE, DATABASE_ACTION_DELETE_VALUE);
    }

    public static final String DATA = "data";

    public static final String HEAD = "head";
}
